import 'package:flutter/material.dart';

// 1. 定义控制器类
class ChildAddRoomController {
  // 使用 VoidCallback? 来存储子组件要执行的方法引用
  VoidCallback? _triggerAction;

  // 内部方法，供子组件的 State 注册其方法
  void attach(VoidCallback action) {
    print('子方法注册');
    _triggerAction = action;
  }

  // 内部方法，供子组件的 State 在 dispose 时注销
  void detach() {
    _triggerAction = null;
  }

  // 公开方法，供父组件调用
  void performAction() {
    // 调用子组件注册的方法
    _triggerAction?.call();
  }
}